class_name HItem 
extends Resource

## 物品基类
## 提供物品的基础属性和使用接口
## 所有物品都应继承此类并实现自己的使用逻辑

var id: String
var name: String
var type: String

## 物品使用函数（新接口）
## 子类应重写此方法实现具体的使用逻辑
## @param context: 物品使用上下文，包含使用所需的所有信息
func item_use(context: ItemUseContext):
	print("使用物品: ", name)
	# 子类应重写此方法实现具体使用逻辑

## 检查物品是否可以使用
## 子类可重写此方法添加特定的使用条件检查
## @param context: 物品使用上下文
## @return bool: 物品是否可以使用
func can_use(context: ItemUseContext) -> bool:
	if not context.is_valid():
		print("警告: 物品使用上下文无效")
		return false
	return true

func load_data(data: Dictionary = {}):
	id = data.get("id", "")
	name = data.get("name", "")
	type = data.get("type", "")

func save_data() -> Dictionary:
	return {
		"id": id,
		"name": name,
		"type": type
	} 
